package com.example.communitypro.mapper;
import com.example.communitypro.pojo.Comment;
import com.example.communitypro.pojo.CommunityInformation;
import com.example.communitypro.pojo.Post;
import com.example.communitypro.pojo.UserCollection;

import java.util.List;

public interface UserCollectionMapper {
    int insertUserCollection(UserCollection userCollection);//新增用户收藏
    // 新增收藏会根据收藏类型同步增加社区人数、社区收藏数、帖子收藏数、评论收藏数
    int deleteUserCollection(int collection_no);//取消用户收藏
    //取消收藏会根据收藏类型减少增加社区人数、社区收藏数、帖子收藏数、评论收藏数
    List<CommunityInformation> getCommunityCollection(int user_no);//查找某用户收藏（加入的）社区 √
    // user_action_type==0的;
    List<Post> getPostCollection(int user_no);//查找某用户收藏的帖子 √
    //user_action_type==1的;
    List<Comment> getCommentCollection(int user_no);//查找某用户收藏的评论 √
    //user_action_type==2的
    List<UserCollection> getPost(int post_no); //查找某帖子被收藏的所有记录
    List<UserCollection> getComment(int comment_no); //查找某评论被收藏的所有记录
    int deletePostCollection(int post_no); //删除帖子所有收藏记录
    int deleteCommentCollection(int comment_no); //删除评论所有收藏记录

    UserCollection getCollection(int user_no,int collectionObjectType,int collectionObjectNo);

    /**
     * 系统自动生成
     */
    int deleteByPrimaryKey(Integer collectionNo);

    int insert(UserCollection record);

    int insertSelective(UserCollection record);

    UserCollection selectByPrimaryKey(Integer collectionNo);

    int updateByPrimaryKeySelective(UserCollection record);

    int updateByPrimaryKey(UserCollection record);
}
